// 引入excel导=模块
import JsExportExcel from 'js-export-excel'
import {getUserListApi} from '../api/userList'

import {  reactive } from 'vue'
// 时间戳转换函数
const timestampToTime=(timestamp)=> {
    if (timestamp === 0 || timestamp == null) {
      return ''
    } else {
      var date = new Date(timestamp * 1000)
      var Y = date.getFullYear() + '-'
      var M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-'
      var D = date.getDate() < 10 ? '0' + date.getDate() : date.getDate()
      return Y + M + D
    }
  }
// 映射的数据
const transData=(rows)=>{
    const map=reactive({
    id:'序号',
    email:'邮箱',
    create_time:'创建时间',
    mg_state:'是否禁用',
    role_name:'角色名称',
    username:'用户名称'
    })

    // 表头键名
    const headerKeys = Object.keys(rows[0])

    // 表头
    const header = headerKeys.map(item=>{
      return map[item]
    })
    // timestampToTime//转换时间的方法,需要传参
    const data = rows.map((obj,index)=>{
      // console.log(obj.create_time);//创建时间
      obj.create_time=  timestampToTime(obj.create_time)
      // console.log(obj.create_time);//创建时间
      obj.id=(index+1)
      return Object.values(obj)
    })

    return {header,data}
}
// 接收用户数据
const obj = reactive({
    pagenum: 1, //请求的页码
    pagesize: 10, //请求的条数
    total: 0, //数据总条数
    query: '' //查询条件
  })
// 点击按钮,导出文件
export const downloadExcel=async ()=>{
    // 发起请求,拿到最新数据
    const res = await  getUserListApi(obj)
    const excelObj = transData(res.data.users)
    // console.log(excelObj);
      const toExcel = new JsExportExcel({
        fileName:'info',//文件名
        datas:[
          {
            sheetData:excelObj.data,
            sheetName:'sheet',
            sheerFilter:["tow","one"],
            sheetHeader:excelObj.header,//表头 必填
            autoWidth: true,
            // columnWidths:[20,20],
          }
        ]
  
      })
      toExcel.saveExcel()
  }